diff --git a/CMakeLists.txt b/CMakeLists.txt
index a513d76eeafce796d2a48097f9eeb28f54012387..0541457f10b02d28c2bdfb92320db88f63435430 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
 set(CMAKE_LEGACY_CYGWIN_WIN32 0)
 cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
 
-project(pymoose)
+project(moose-core)
 
 if(COMMAND cmake_policy)
     cmake_policy(SET CMP0003 NEW)
@@ -245,14 +245,6 @@ if(HDF5_LIBRARY_DIRS)
     set_target_properties( libmoose PROPERTIES LINK_FLAGS "-L${HDF5_LIBRARY_DIRS}" )
 endif()
 
-find_package(Termcap)
-find_package(Readline)
-
-if(READLINE_FOUND AND TERMCAP_FOUND)
-    add_definitions(-DUSE_READLINE)
-    include_directories(${Readline_INCLUDE_DIR})
-endif()
-
 # Openmpi
 if(WITH_MPI)
     find_package(MPI REQUIRED)
@@ -393,7 +385,6 @@ endif()
 ######################### BUILD PYMOOSE ########################################
 add_subdirectory( pymoose )
 
-
 ######################### INSTALL ##############################################
 
 if(DEBUG)
@@ -422,25 +413,18 @@ execute_process(
 message( STATUS "Platform ${_platform_desc}" )
 
 
-# DISTUTILS_EXTRA_ARGS may come of top-level cmake script. On DEBIAN/UBUNTU, it
-# is most likely to be --install-layout=deb .
-set(EXTRA_ARGS "--prefix ${CMAKE_INSTALL_PREFIX} ${DISTUTILS_EXTRA_ARGS}")
+set(EXTRA_ARGS "--prefix ${CMAKE_INSTALL_PREFIX}")
 
-# On Debian/Ubuntu install using debian layout. 
-# NOTE: Also create setup.cfg file which setup prefix and install-layout
-# suitable for DEBIAN systems.
+# On Debian/Ubuntu install using debian layout
 if( ${_platform_desc} MATCHES ".*(Ubuntu|Debian).*" )
     list( APPEND EXTRA_ARGS "--install-layout=deb" )
-    file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/python/setup.cfg 
-         "[install]\nprefix=/usr\ninstall-layout=deb" 
-       )
 endif( )
 
 # If make is called with sudo, install in system directories. Otherwise use
 # --user to install in user home.
 install(CODE
     "execute_process(
-        COMMAND ${PYTHON_EXECUTABLE} setup.cmake.py install -f ${EXTRA_ARGS} ${PYMOOSE_EXTRA_INSTALL_ARGS}
+        COMMAND ${PYTHON_EXECUTABLE} setup.cmake.py install ${EXTRA_ARGS} ${PYMOOSE_EXTRA_INSTALL_ARGS}
         WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python
         )"
         )
@@ -455,27 +439,6 @@ if(${CMAKE_BUILD_TOOL} MATCHES "make")
         )
 endif()
 
-# Target for creating bdist. This is handy for creating bdist for packaging.
-# Save the binary distribution (tar.gz) to PYMOOSE_BDIST_DIR. Note that this
-# target is only useful when creating packages on Open Build Service i.e. if you
-# use this target on distribution X, it may not work on distrbutions other than
-# X. See python-wheels for making portable distributions.
-if(NOT PYMOOSE_BDIST_DIR)
-    set(PYMOOSE_BDIST_DIR ${CMAKE_BINARY_DIR}/pymoose_bdist)
-endif( )
-
-# get platform and arch using python.
-# NOTE: creating bdist or bdist_dump uses /usr and /usr/local on rpm and deb
-# based unix respectively. Not a great situation to be in. Need to write a
-# setup.cfg file to fix the prefix in all cases. 
-find_package( PythonInterp REQUIRED)
-add_custom_target( bdist 
-    COMMAND ${PYTHON_EXECUTABLE} setup.cmake.py bdist_dumb -d ${PYMOOSE_BDIST_DIR}
-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python
-    COMMENT "Genearating bdist using setup.cmake.py." 
-    VERBATIM
-    )
-
 
 ############################ CTEST ######################################
 include( CTest )
diff --git a/cmake_modules/FindNumPy.cmake b/cmake_modules/FindNumPy.cmake
index f14142f18652c1081f098319b47bf123329352de..5de7901e56780d191dcbc218685c0204f696c22e 100644
--- a/cmake_modules/FindNumPy.cmake
+++ b/cmake_modules/FindNumPy.cmake
@@ -39,23 +39,15 @@
 #============================================================================
 
 # Finding NumPy involves calling the Python interpreter
-if(NumPy_FIND_REQUIRED)
-    find_package(PythonInterp REQUIRED)
-else()
-    find_package(PythonInterp)
-endif()
-
-if(NOT PYTHONINTERP_FOUND)
-    set(NUMPY_FOUND FALSE)
-    return()
-endif()
 
-execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c"
+message( STATUS "Using python ${PYTHON_EXECUTABLE} to locate numpy" )
+execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
     "import numpy as n; print(n.__version__); print(n.get_include());"
     RESULT_VARIABLE _NUMPY_SEARCH_SUCCESS
     OUTPUT_VARIABLE _NUMPY_VALUES_OUTPUT
     ERROR_VARIABLE _NUMPY_ERROR_VALUE
-    OUTPUT_STRIP_TRAILING_WHITESPACE)
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+)
 
 if(NOT _NUMPY_SEARCH_SUCCESS MATCHES 0)
     if(NumPy_FIND_REQUIRED)
diff --git a/pymoose/CMakeLists.txt b/pymoose/CMakeLists.txt
index 713ade07302e224a9600177fce2952d0a61dc791..adf4176b955dcc0e1c254777f304cbac14233151 100644
--- a/pymoose/CMakeLists.txt
+++ b/pymoose/CMakeLists.txt
@@ -10,10 +10,11 @@ set(PYMOOSE_SRCS
     test_moosemodule.cpp
     PyRun.cpp
     )
-add_library( _moose MODULE ${PYMOOSE_SRCS} )
 
+add_library( _moose MODULE ${PYMOOSE_SRCS} )
 set(PYMOOSE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/python/moose")
 
+find_package(PythonInterp REQUIRED)
 execute_process( COMMAND ${PYTHON_EXECUTABLE} -c
     "try: import importlib.machinery; print(importlib.machinery.EXTENSION_SUFFIXES[0])
 except Exception: pass"
diff --git a/python/moose/moose_test.py b/python/moose/moose_test.py
index 9d5ad2459ecf94e3a6b8b3d4c68d26b54c6c3475..9cda2b80d81b4ffc20ff77bf0dae656c47763e7c 100644
--- a/python/moose/moose_test.py
+++ b/python/moose/moose_test.py
@@ -26,12 +26,11 @@ import logging
 from collections import defaultdict
 import time
 
-logfile_ = tempfile.NamedTemporaryFile( )
 logging.basicConfig(
         level=logging.DEBUG,
         format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
         datefmt='%m-%d %H:%M',
-        filename = logfile_.name,
+        filename='tests.log',
         filemode='w'
         )
 console = logging.StreamHandler()
diff --git a/python/setup.cmake.py b/python/setup.cmake.py
index b1761f9957ee37b274fc3fbc6cd50b833356a107..94787ff76ba0bf70554c742c158e19a7ad36f23d 100644
--- a/python/setup.cmake.py
+++ b/python/setup.cmake.py
@@ -1,11 +1,10 @@
 # -*- coding: utf-8 -*-
 
-"""
-setup.cmake.py:
+"""setup.py:
+Script to install python targets.
 
-Script to install python targets by cmake. 
+NOTE: This script is to be called by CMake. Not intended to be used standalone.
 
-DO NOT USE IT DIRECTLY. Only `cmake` build system should use it directly.
 """
 
 __author__           = "Dilawar Singh"
@@ -21,30 +20,33 @@ import os
 import sys
 
 try:
-    from setuptools import setup
+	from setuptools import setup
 except Exception as e:
-    from distutils.core import setup
-
+	from distutils.core import setup
 
-# Read version from VERSION created by cmake file. This file must be present for
-# setup.cmake.py to work perfectly.
 script_dir = os.path.dirname( os.path.abspath( __file__ ) )
-version = None
-with open( os.path.join( script_dir, 'VERSION'), 'r' ) as f:
-    version = f.read( )
+version = '3.2pre1'
+
+
+try:
+    with open( os.path.join( script_dir, 'VERSION'), 'r' ) as f:
+        version = f.read( )
+except Exception as e:
+    print( 'Failed to read VERSION %s' % e )
+    print( 'Using default %s' % version )
 
 try:
     import importlib.machinery
-    suffix = importlib.machinery.EXTENSION_SUFFIXES[0]
+    suffix = importlib.machinery.EXTENSION_SUFFIXES[0].split('.')[-1]
 except Exception as e:
-    print( '[WARN] Failed to determine importlib suffix due to %s' % e )
+    print( '[WARN] Failed to determine importlib suffix' )
     suffix = '.so'
 
 setup(
         name='pymoose',
         version=version,
         description='Python scripting interface of MOOSE Simulator (https://moose.ncbs.res.in)',
-        author='See AUTHORS.md at https://github.com/BhallaLab/moose',
+        author='MOOSERes',
         author_email='bhalla@ncbs.res.in',
         maintainer='Dilawar Singh',
         maintainer_email='dilawars@ncbs.res.in',
@@ -59,11 +61,9 @@ setup(
             , 'moose.chemUtil'
             , 'moose.chemMerge'
             ],
-        install_requires = [ 'python-libsbml', 'numpy' ],
+	install_requires = [ 'python-libsbml', 'numpy' ],
         package_dir = {
             'moose' : 'moose', 'rdesigneur' : 'rdesigneur'
             },
-        package_data = { 
-            'moose' : ['_moose' + suffix, 'neuroml2/schema/NeuroMLCoreDimensions.xml'] 
-            },
-        )
+        package_data = { 'moose' : ['_moose' + suffix, 'neuroml2/schema/NeuroMLCoreDimensions.xml'] },
+    )