initial library methods