some progress, some bugs