finally modularly working