this is the proper solution