uhh.. done. need to clean up code