stack constructor optional values