furthering good programming techniques