version with improvements