2nd draft

code not synthesizable; shift left missing -> take signed numbers in
account