added numerous features...