added more init functionality