Element factory organized a bit