fixed bugs added more functionality, still not done