add separate boot function