no buffer version