maj implementation