basic Auto framework