some block initialization function added previously
losed a lot of stuff, implementing clean design
finished bit width functions again