TODO: code ascii and JavaDocs