First attemp at plot3, still need to do some refinement