completed but seems bugs