frontend ready
built inner functions