Facade stuff + internal code refact