add master function