plot need tweak. more test needed