more compile ready