made concept constructor a bit more straightforward