+ removed INLINE for better performance