still in progress. but better