updates to modularize