first attempt at possible solution