same appearance, cleaner code