Re-organized for better separation of duties