unified builder methods