not working due to browserify issues etc, many changes to be made, commit for architectural purposes