initialize better
work that needs finished on error handling
beginning add-on stuff