rolled back some changes, not sure what happened between last few commits
rollback to working state