inline for self