need to run before commiting