Improved class construct