implemented state methods