inline all functions