to primitive method