added new file and cleaned code