for prof zhang. v0.1.0