made all methods n stuff