improved code useabiltity