rewrote js to allow for placeholder content (optional)