some functions/classes made public