Fixes #20 - Add Factories