new approach using a box