add more primitive procedures