mostly working
1st submission