add TODO fix bugs