integration
decode and init