implementation fixes