refactor to simplify atom usage a bit
figure out the dsl for creating, connecting and placing nodes