Restructure constructor to be usable