Improve constructor pattern