comment
improve: cast, store