Most features implemented