simplified some definitions