separation of code done