nice DRY fixes here