initial setup, add and test functors