moved the access functions far away from main body