ran into issues, rolled back to previous version
reintegrated some of the code from before the rollback