#3184 methods written. ready to test