most functionality works now but currently fixing bugs Larlyn found