adding new features as TODO