added factories ... now the whole thing finally works =)