finishing compatibility with new architecture - still need to adapt the final function