working on modularizing components