dumping all the functions into __init__