adding basic Reader and State