collection non java-script solution