the proper way to do this