[Home](./index.md) > [bitburner](./bitburner.md) > [Singularity](./bitburner.singularity.md) > [createProgram](./bitburner.singularity.createprogram.md) ## Singularity.createProgram() method Create a program. Signature: ```typescript createProgram(program: string, focus?: boolean): boolean; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | program | string | Name of program to create. | | focus | boolean | Acquire player focus on this program creation. Optional. Defaults to true. | Returns: boolean True if you successfully start working on the specified program, and false otherwise. ## Remarks RAM cost: 5 GB \* 16/4/1 This function will automatically set you to start working on creating the specified program. If you are already in the middle of some “working” action (such as working for a company, training at a gym, or taking a course), then running this function will automatically cancel that action and give you your earnings. This function returns true if you successfully start working on the specified program, and false otherwise. Note that creating a program using this function has the same hacking level requirements as it normally would. These level requirements are: \* BruteSSH.exe: 50 \* FTPCrack.exe: 100 \* relaySMTP.exe: 250 \* HTTPWorm.exe: 500 \* SQLInject.exe: 750 \* DeepscanV1.exe: 75 \* DeepscanV2.exe: 400 \* ServerProfiler.exe: 75 \* AutoLink.exe: 25 ## Example 1 ```ts // NS1: createProgram(“relaysmtp.exe”); ``` ## Example 2 ```ts // NS2: ns.createProgram(“relaysmtp.exe”); ```