implement fancy features V0.4