decode through Bytes
optimize while- to for-loops and method overrides
javadoc & visibilities