clumsy version done