Updated, all functionality