Added many methods, still working on it