initial commit (refactored from ProjectMule commit #53