lots of edits and fixing stupid errors