server over fake ajax, easier to test