Extended add_text method to allow for more flexible positioning