updated with abrandt feedback