cleaning up
working version