You're right, I should separate the implementation.