more byte code abstraction added