Major functionality and todos done