Updated code, design, new files and organization