reworked file structure and added scripting