basically working

needs clean up and some cool animations