work in progress for modularity and IOC + Errors