refactor
inline