improved versions methods