rafactored for 80-limit lines