steps towards modularizing