seperated components into subdirs, broke control flow