huge update :)