Will fix this DRY violation eventually