Merged refactor back to development