TODO: reflect current state