main features nearly done