Fix order
Make abstract