advanced version to 0.5.0