updating pocos and refactoring