neater functions