massive refactoring
Adding in feedback from
adding in lighthouse
Merge branch 'dev' of github.com:Dannyzen/lighthouse into dev