basic functionality is here, time to consolidate files and clean things up