master add iteration capabilities
master separation logic in modules