Refactored + some additional services