manually coded