completion works now pretty well