compile basic