full functionality added! one small bug persists