update from refacto of ajsl