Fixed all the bugs, refactored service selection