Migrated some functionality to base module