pretty sure those inline functions could be converted into some interface