first commit sooo, a lot of stuff here