works better with the proper args