Refactor, error catch, graphic overhaul