now for the actual code