added more methods, removed functions