Second Commit

added much functionality, still needs a lot of work