finshed ww 2 - even more abstracted other functions