arguably cleaner but there may be an even better way