Cleaned up startup backend code to use promises, its much cleaner now