same remarks a above. but why is this code so similar? can it be refactored?