Implemented required features.