Code re-organization
After merge