added setup py, unit tests