encapsulating code and organizing