Effective laboratory teaching