changed file structure, added features