now use shallow binding