initial support for text layout