initial commit

needs rewrite!