added decoding layer