(realy hopefully) final revison