this works but about to try a new way