seems work, but with too many duplication, not fully printed