shifted component responsibility completely
cleanup