Reorganised and added DataAccess Layer and CoreLayer