Initial Commit

Not yet working, have to add a few things
working version
Added corresponding Tests and Comments