implement without checks