first commit - its messy
first functional commit
updated
checking all platforms