compiling and packaging