internal by Naoh | Apoet