Cleaned up client side entry point