Improve design and String handling